package cn.yuanqiao.archive.collection.danganjieshou.domain;

import cn.yuanqiao.common.annotation.Excel;
import cn.yuanqiao.common.exception.ServiceException;
import cn.yuanqiao.common.utils.StringUtils;
import cn.yuanqiao.common.core.domain.BaseEntity;
import cn.yuanqiao.common.utils.SecurityUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.util.List;

/**
 * 馆藏文件接收组件对象
 *
 * @ProjectName: JZSDAS
 * @Package: cn.yuanqiao.collection.danganjieshou.domain
 * @ClassName: YqGcReceiveFile
 * @Author: lenovo
 * @Description: hbWang
 * @Date: 2023/8/2 15:16
 * @Version: 1.0
 */
public class YqGcReceiveFile extends BaseEntity {
    private static final long serialVersionUID = 1L;

    private final String BIGTABLENAME = "_YQ_GC_RECEIVE_FILE";

    private String tableName;

    public YqGcReceiveFile() {
        String tenantCode = SecurityUtils.getTenantCode();
        if (StringUtils.isEmpty(tenantCode)) {
            throw new ServiceException("TenantCode is null");
        } else {
            this.tableName = tenantCode.toUpperCase() + BIGTABLENAME;
        }
    }

    /**
     * 主键id
     */
    private String id;

    /**
     * 件号
     */
    @Excel(name = "件号")
    private String fileNum;

    /**
     * 卷号
     */
    @Excel(name = "卷号")
    private String folderNum;

    /**
     * 卷ID
     */
    @Excel(name = "卷ID")
    private String folderId;

    /**
     * 册数
     */
    @Excel(name = "册数")
    private String volumeNum;

    /**
     * 资料名
     */
    @Excel(name = "资料名")
    private String genNume;

    /**
     * 出版单位
     */
    @Excel(name = "出版单位")
    private String publishUnit;

    /**
     * 作者
     */
    @Excel(name = "作者")
    private String author;

    /**
     * 出版日期
     */
    @Excel(name = "出版日期")
    private String publishData;

    /**
     * 控制属性 1 控制  0 开放
     */
    @Excel(name = "控制属性")
    private String controlType;

    /**
     * 资料状况
     */
    @Excel(name = "资料状况")
    private String genStatus;

    /**
     * 密级
     */
    @Excel(name = "密级")
    private String mj;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String creatorId;

    /**
     * 最后修改人
     */
    @Excel(name = "最后修改人")
    private String lastupdater;

    /**
     * 最后修改时间
     */
    @Excel(name = "最后修改时间")
    private String lastupdateTime;

    /**
     * 是否删除
     */
    @Excel(name = "是否删除")
    private String isDel;

    /**
     * 页数
     */
    @Excel(name = "页数")
    private String pageNum;

    /**
     * 页号
     */
    @Excel(name = "页号")
    private String pageHouse;


    /**
     * 电子件集合
     */
    private List<YqGcReceiveEfile> efileList;

    /**
     * 关键字查询字段
     */
    private String keywords;

    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getFileNum() {
        return fileNum;
    }

    public void setFileNum(String fileNum) {
        this.fileNum = fileNum;
    }

    public String getFolderNum() {
        return folderNum;
    }

    public void setFolderNum(String folderNum) {
        this.folderNum = folderNum;
    }

    public String getFolderId() {
        return folderId;
    }

    public void setFolderId(String folderId) {
        this.folderId = folderId;
    }

    public String getVolumeNum() {
        return volumeNum;
    }

    public void setVolumeNum(String volumeNum) {
        this.volumeNum = volumeNum;
    }

    public String getGenNume() {
        return genNume;
    }

    public void setGenNume(String genNume) {
        this.genNume = genNume;
    }

    public String getPublishUnit() {
        return publishUnit;
    }

    public void setPublishUnit(String publishUnit) {
        this.publishUnit = publishUnit;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getPublishData() {
        return publishData;
    }

    public void setPublishData(String publishData) {
        this.publishData = publishData;
    }

    public String getControlType() {
        return controlType;
    }

    public void setControlType(String controlType) {
        this.controlType = controlType;
    }

    public String getGenStatus() {
        return genStatus;
    }

    public void setGenStatus(String genStatus) {
        this.genStatus = genStatus;
    }

    public String getMj() {
        return mj;
    }

    public void setMj(String mj) {
        this.mj = mj;
    }

    public String getCreatorId() {
        return creatorId;
    }

    public void setCreatorId(String creatorId) {
        this.creatorId = creatorId;
    }

    public String getLastupdater() {
        return lastupdater;
    }

    public void setLastupdater(String lastupdater) {
        this.lastupdater = lastupdater;
    }

    public String getLastupdateTime() {
        return lastupdateTime;
    }

    public void setLastupdateTime(String lastupdateTime) {
        this.lastupdateTime = lastupdateTime;
    }

    public String getIsDel() {
        return isDel;
    }

    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }

    public String getPageNum() {
        return pageNum;
    }

    public void setPageNum(String pageNum) {
        this.pageNum = pageNum;
    }

    public String getPageHouse() {
        return pageHouse;
    }

    public void setPageHouse(String pageHouse) {
        this.pageHouse = pageHouse;
    }

    public List<YqGcReceiveEfile> getEfileList() {
        return efileList;
    }

    public void setEfileList(List<YqGcReceiveEfile> efileList) {
        this.efileList = efileList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("id", id)
                .append("fileNum", fileNum)
                .append("folderNum", folderNum)
                .append("folderId", folderId)
                .append("volumeNum", volumeNum)
                .append("genNume", genNume)
                .append("publishUnit", publishUnit)
                .append("author", author)
                .append("publishData", publishData)
                .append("controlType", controlType)
                .append("genStatus", genStatus)
                .append("mj", mj)
                .append("creatorId", creatorId)
                .append("lastupdater", lastupdater)
                .append("lastupdateTime", lastupdateTime)
                .append("isDel", isDel)
                .append("pageNum", pageNum)
                .append("pageHouse", pageHouse)
                .append("efileList", efileList)
                .toString();
    }
}
